<!-- 订阅与发布 -->
<template>
  <div class="">
    <input type="text" v-model="msg">
    <button @click="sendMsg">发送消息</button>
    <Pubsub></Pubsub>
  </div>
</template>

/**
    发布与订阅用的很少
    先安装依赖  npm i pubsub-js
    引入 import pubsub from 'pubsub-js' 
    发布消息
    pubsub.publish("事件名",参数)
    订阅消息
    pubsub.subscribe("事件名",回调函数)
    取消订阅
    pubsub.unsubscribe("事件名",回调函数)
 */

<script>
import pubsub from "pubsub-js";
import Pubsub from '@/components/Pubsub/index.vue';

export default {
  //import引入的组件需要注入到对象中才能使用
  components: {Pubsub},
  data() {
    //这里存放数据
    return {
      msg: "Hello World",
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    sendMsg() {
      pubsub.publish("demo", this.msg); // 发布消息
    },
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {},
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
};
</script>


<style  scoped>
/* @import url(); 引入公共css类 */
</style>